home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 05.zip / BS1 part 5 / ANC_UTULITYS_16.adf / arclist / asm1.arc / SprMovM.S < prev   
Text File  |  1988-09-21  |  2KB  |  141 lines

  1. start:
  2. lea    $dff000,a0
  3. move.w    #$1200,$100(a0)
  4. move.w    #$0000,$108(a0)
  5. move.w    #$0000,$102(a0)
  6. move.w    #$0024,$104(a0)
  7. move.w    #$0038,$092(a0)
  8. move.w    #$00d0,$094(a0)
  9. move.w    #$2c81,$08e(a0)
  10. move.w    #$f4c1,$090(a0)
  11. move.w    #$0008,$180(a0)
  12. move.w    #$0000,$182(a0)
  13. move.w    #$0ff0,$1a2(a0)
  14. move.w    #$00ff,$1a4(a0)
  15. move.w    #$0f0f,$1a6(a0)
  16. move.l    #$40000,a3
  17. move.l    #$41000,a4
  18. move.l    #$50000,a6
  19. copy:
  20. lea    sprite,a2
  21. move.l    a6,a1
  22. bsr    sprloop
  23. move.w    #$0000,100(a6)
  24. add.l    #$100,a6
  25. cmp.l    #$50800,a6
  26. bne.s    copy
  27. bsr    clr
  28. lo:
  29. move.l    #$50000,a1
  30. bsr    vloop
  31. loo:
  32. move.l    a1,a5
  33. bsr    moves
  34. add.l    #2,a3
  35. add.l    #2,a4
  36. add.l    #$00000100,a1
  37. cmp.l    #$00050800,a1
  38. bne.s    loo
  39. sub.l    #15,a3
  40. sub.l    #15,a4
  41. cmp.l    #$00040fff,a3
  42. bne.s    lo
  43. rts
  44.  
  45. sprloop:
  46. move.l    (a2)+,(a1)+
  47. bne.s    sprloop
  48. rts
  49.  
  50. clr:
  51. move.l    #$42000,a1
  52. move.w    #2000,d0
  53. floop:
  54. move.l    #-1,(a1)+
  55. subq.w    #1,d0
  56. bne.s    floop
  57. move.w    #$03a0,$dff096
  58. move.l    #copperl,$dff080
  59. move.w    #$ffff,$dff088
  60. move.w    #$83a0,$dff096
  61. rts
  62.  
  63. vloop:
  64. move.w    $dff01e,d6
  65. and.w    #$0010,d6
  66. beq.s    vloop
  67. move.w    #$0010,$dff09c
  68. rts
  69.  
  70. moves:
  71. move.b    (a3),d0
  72. move.b    (a4),d1
  73. move.b    100(a5),d2
  74. move.b    101(a5),d3
  75. sub.b    d0,d2
  76. sub.b    d1,d3
  77. bmi.s    neg
  78. btst    #0,d3
  79. beq.s    aa
  80. btst    #0,3(a5)
  81. beq.s    cc
  82. bra.s    ee
  83. cc:
  84. addq.b    #2,d3
  85. ee:
  86. eor.b    #$01,3(a5)
  87. aa:
  88. lsr.b    #1,d3
  89. sub.b    d3,1(a5)
  90. bra.s    loop1
  91. neg:
  92. move.b    #$00,d5
  93. sub.b    d3,d5
  94. btst    #0,d5
  95. beq.s    bb
  96. btst    #0,3(a5)
  97. beq.s    dd
  98. addq.b    #$1,d5
  99. dd:
  100. eor.b    #$01,3(a5)
  101. bb:
  102. lsr.b    #1,d5
  103. add.b    d5,1(a5)
  104. bra.s    loop1
  105. loop1:
  106. move.b    d0,d4
  107. move.b    d4,(a5)
  108. move.b    (a5),d4
  109. add.b    #6,d4
  110. move.b    d4,2(a5)
  111. clr.w    d3
  112. move.b    d0,100(a5)
  113. move.b    d1,101(a5)
  114. rts
  115.  
  116. copperl:
  117. dc.w    $00e0,$0004,$00e2,$2000
  118. dc.w    $0100,$1200,$008e,$2c81
  119. dc.w    $0090,$f4c1,$0092,$0038
  120. dc.w    $0094,$00d0,$0120,$0005
  121. dc.w    $0122,$0000,$0124,$0005
  122. dc.w    $0126,$0100,$0128,$0005
  123. dc.w    $012a,$0200,$012c,$0005
  124. dc.w    $012e,$0300,$0130,$0005
  125. dc.w    $0132,$0400,$0134,$0005
  126. dc.w    $0136,$0500,$0138,$0005
  127. dc.w    $013a,$0600,$013c,$0005
  128. dc.w    $013e,$0700,$ff01,$ff00
  129. dc.w    $009c,$8010
  130. dc.w    $ffff,$fffe
  131.  
  132. sprite:
  133. dc.w    $6d60,$7200
  134. dc.w    $0990,$07e0
  135. dc.w    $13c8,$0ff0
  136. dc.w    $23c4,$1ff8
  137. dc.w     $13c8,$0ff0
  138. dc.w    $0990,$07e0
  139. dc.w    $0000,$0000
  140.  
  141.